function unique(arr) {
	let newArr = [];
	// 使用Map记录
	arr.reduce((pre, next) => {
		// 如果Map没有当前值的记录，则说明当前值是新值，加入newArr数组中
		if (!pre.has(next)) {
			pre.set(next, 1);
			newArr.push(next);
		}
		return pre;
	}, new Map());
	return newArr;
}

let res = unique([1, 1, 1, 1, 12, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4])
console.log(res);  // [ 1, 12, 2, 3, 4 ]
